<article>
    <h1><?php echo $GLOBALS["title"] ?></h1>
    <h3>HTTP无状态</h3>
    <p>无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果 后续处理需要前面的信息，则它必须重传，这样可能导致每次连接传送的数据量增大。另一方面，在服务器不需要先前信息时它的应答就较快。</p>
    <p>无状态性客户端和服务器端连接通信运行速度快，服务器应答也快。因为无状态，协议对事务处理是没有记忆性的是独立的。所以为了满足后面事务需要前面的事务有关信息，所以事务有关的信息要在协议外发送。</p>
    <h2><a>Cookies</a></h2>
    <p>cookie 常用于识别用户。</p>
    <p>Cookie是利用了网页代码中的HTTP头信息进行传递的，浏览器的每一次网页请求，都可以伴随Cookie传递。  服务器将Cookie添加到网页的HTTP头信息中，伴随网页数据传回到你的浏览器，浏览器会根据你电脑中的Cookie设置选择是否保存这些数据。如果浏览器不允许Cookie保存，则关掉浏览器后，这些数据就消失。</p>
    <h3>如何创建 cookie</h3>
    <h4>语法</h4>
    <code>setcookie(name, value, expire, path, domain);</code>
    <h4>实例</h4>
    <pre><code><?php echo htmlspecialchars('
<?php
setcookie("user", "Alex Porter", time()+3600);

echo $_COOKIE["user"];
//$_COOKIE 变量用于取回 cookie 的值。
?>') ?></code></pre>
	<h3>COOKIE生命周期</h3>
	<p>Cookie有一个Expires（有效期）属性，这个属性决定了Cookie的保存时间，服务器可以通过设定Expires字段的数值，来改变Cookie的保存时间。如果不设置该属性，或设为0，那么Cookie只在浏览网页期间有效，关闭浏览器，这些Cookie自动消失。
	</p>
	<h3>COOKIE数量不大小</h3>
	<h4>数量</h4>
	<p>各个浏览器中会不同，同一浏览器版本也不同  IE8允许每个域保存50个cookie,Firefox允许每个域保存50个cookie</p>
	<h4>大小</h4>
	<p>一般来说允许4Kb，不同浏览器，不同版本略有不同
	</p>
	<h3>COOKIE储存数组或对象</h3>
	<h4>serialize(序列化)</h4>
	<code>string serialize ( mixed $value )</code>
	<p>serialize() 返回字符串，此字符串包含了表示 value 的字节流，可以存储于任何地方。反函数：<code>unserialize</code></p>
	<h4>json_encode(转json)</h4>
	<code>string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )</code>
	<p>json_encode()成功则返回 JSON 编码的 string 或者在失败时返回 FALSE 。 反函数：<code>json_decode(对 JSON 格式的字符串进行解码)</code></p>
	<h2><a>SESSION</a></h2>
	<p>session从用户访问页面开始，到断开和网站连接为止，形成一个会话的生命周期。在会话期间，分配客户唯一的一个UID，用来UID标识当前用户，和其他用户进行区分。</p>
	<p>session会话时，sessionid会分别保存在客户端和服务器端两个位置，对于客户端使用临时的Cookie保存（Cookie名称为PHPSESSID）或者通过URL字符串传递，服务器端也以文本文件形式保存在指定的  Session目录中。</p>
	<p>session通过UID接受每一个访问请求，从而识别当前用户、跟踪和保持用户具体资料，以及Session变量（在Session活动期间，可在 Session中存储数字或文字资料），比如session_name等等，这些变量信息保存在服务器端。</p>
	<h3>开始 PHP Session</h3>
	<p>在您把用户信息存储到 PHP session 中之前，首先必须启动会话。</p>
	<pre><code><?php echo htmlspecialchars('
<?php
	session_start();
?>') ?></code></pre>
	<h3>Session的使用</h3>
	<p>存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量：跟数组的使用方法相同</p>
<pre><code><?php echo htmlspecialchars('
<?php
	session_start();
	//开启session
	$_SESSION["views"]=1;
	//往session存储数据
	echo $_SESSION["views"];
	//读取session里面的数据
	unset($_SESSION["views"]);
	//删除session变量
	$_SESSION=array();//删除所有session变量，不删除session文件
	session_unset();
	//释放当前在内存中已经创建的所有$_SESSION变量，但不删除session文件以及不释放对应的session id
	session_destroy();
	//删除当前用户对应的session文件以及释放session id，内存中的$_SESSION变量内容依然保留
?>') ?></code></pre>
	<h3>SESSION垃圾回收</h3>
	<p>修改php.ini配置可以进行session垃圾回收机制的配置</p>
	<p>session.gc_probability = 1(session清除基数
)</p>
	<p>session.gc_divisor = 100(定义在每次初始化会话时，启动垃圾回收程序的概率。这个收集概率计算公式如下：session.gc_probability/session.gc_divisor; 对会话页面访问越频繁，概率就应当越小。建议值为1/1000~5000。)</p>
	<p>session.gc_maxlifetime = 1440(超过此参数所指的秒数后，保存的数据将被视为'垃圾'并由垃圾回收  程序清理。)</p>
    <h3>作业</h3>
    <blockquote>
    	<ol>
    		<li>给留言系统增加登录注册功能</li>
    	</ol>
    </blockquote>
</article>